1. Field
The present disclosure relates generally to vehicle control, and in particular, to operating vehicle Reaction Control System (RCS) thrusters. Still, more particularly, the present disclosure relates to a method and apparatus for autonomously adapting to vehicle and thruster uncertainties and to thruster failures. In addition, the present disclosure relates to a method and apparatus for using prognostic and diagnostic information about thruster health to extend the life of the vehicle.
2. Background
Orienting and maneuvering a space vehicle is accomplished by a vehicle control subsystem. Current spacecraft Reaction Control Systems (RCS) generally use single axis switching curve logic to command thruster firings for attitude control. For each axis, the attitude and rate errors are compared to pre-defined switching curves that were designed based on predicted vehicle properties, mission requirements, and maneuver propellant budgets. If the current status of the errors is outside of the dead-zones defined by the switching curves, the system will operate the thrusters. If the current status of the errors is inside the dead-zones, the system will leave the thrusters off and coast. When using this system, translational control is done separately using pre-computed or guidance generated on-time commands. An “on-time” command is the amount of time a thruster is operated. A problem with this single axis approach is that cross-axis coupling can produce disturbances in the other axes and translational and rotational coupling will generate cross disturbances between the control laws. Another problem with this method is the switching curves can become quite complex and highly tuned for a specific mission.
When the control system determines a desired vehicle response, the system will look up an appropriate thruster combination from a pre-calculated table. The table may be made of different combinations for certain groups of thrusters. For example, the table may comprise many combinations of ways to operate groups of three thrusters at one time. A problem with this thruster selection method is that the number of thrusters capable of being used at a single time is limited to the combinations in the table, which are usually a certain number less than all possible combinations.
Some systems use linear control laws in conjunction with a linear programming based thruster selection algorithm. These algorithms typically minimize propellant consumption while constraining errors. These methods often generate a thruster on-time command. A problem with these algorithms is that they are generally iterative, with an unknown number of iterations required to converge to an acceptable solution, and therefore, can be computationally intensive. It is often necessary to limit the number of thrusters that can be used to reduce the computational load. These techniques are sometimes used in combination with pre-computed thruster selection tables for various mission phases and contingencies.
Current systems typically cannot adapt to unexpected changes in mass properties or thruster dispersions. When unforeseen events do occur, many implementations of these algorithms are constrained to use a subset of all the available thrusters and are not optimized to use thrusters of different types.
Thus, it would be advantageous to have a method and apparatus that takes into account at least some of the issues discussed above, as well as possibly other issues.